// function LinkList(){
//     // 封装一个内部类：节点类
//     function Node(data){
//         this.data = data;
//         this.next = null;
//     }
//
//     // 属性
//     // 属性head指向链表的第一个节点
//     this.head = null;
//     this.length = 0;
// }

function isPalindrome (head) {
    let positiveStr = '';
    let reverseStr = '';
    while (head) {
        const nodeVal = head.value;
        // 正向字符串拼接
        positiveStr += nodeVal;
        // 反向字符串拼接
        reverseStr = nodeVal + reverseStr;
        // 下一个节点
        head = head.next;
    }

    return positiveStr === reverseStr;
}

let LinkList = array2list([1,2,2,1])
console.log(LinkList)
let flag = isPalindrome(LinkList[0])
console.log(flag)

function array2list(ary) {
    if(ary.length === 0) {
        return null
    }
    let nodes = []

    for(let i = 0; i < ary.length; i++) {
        let node = {}
        node.value = ary[i]
        node.next = null
        nodes.push(node)
    }

    for(let i = 0; i < nodes.length - 1; i++) {
        nodes[i].next = nodes[i + 1]
    }

    // return nodes[0]
    return nodes
}

